import store from "@/store";

function checkPermission(el, binding) {
         const { value } = binding;
        // 角色对应权限的列表值
        const roles =  store.state.user.roles;

        if (value && value instanceof Array && value.length > 0) {
            const permissionRoles = value;
            const hasPermission = roles.some((role) => {
                return permissionRoles.includes(role);
            });
            if (!hasPermission) {
                el.parentNode && el.parentNode.removeChild(el);
            }
        } else {
            throw new Error("need roles! Like v-permission=\"['admin','editor']\"");
        }
    }


export default {
    inserted: function (el, binding) {
        checkPermission(el, binding);
    },
    update: function (el, binding) {
        checkPermission(el, binding);
    },
};